﻿// -----------------------------------------------------------------------
// <copyright file="EventArgsCollectTick.cs" company="DarkBone">
// DarkBone
// </copyright>
// -----------------------------------------------------------------------

namespace DarkBone.Engine.EventArgs
{
   using System;

   using DarkBone.Engine.Collections;

   /// <summary>
   /// Event args of unit
   /// </summary>
   public sealed class EventArgsCollectTick : EventArgs
   {
      /// <summary>
      /// Initializes a new instance of the <see cref="EventArgsCollectTick"/> class.
      /// </summary>
      /// <param name="secsElapsed">The unit.</param>
      /// <param name="teamColorEnabled">if set to <c>true</c> [team color enabled].</param>
      /// <param name="players">The players.</param>
      /// <param name="units">The units.</param>
      public EventArgsCollectTick(int secsElapsed, bool teamColorEnabled, Players players, Units units)
      {
         this.SecsElapsed = secsElapsed;
         this.TeamColorEnabled = teamColorEnabled;
         Players = players;
         Units = units;
      }

      /// <summary>
      /// Gets or sets Unit.
      /// </summary>
      /// <value>
      /// The secs elapsed.
      /// </value>
      public int SecsElapsed { get; set; }

      /// <summary>
      /// Gets or sets a value indicating whether [team color enabled].
      /// </summary>
      /// <value>
      ///   <c>true</c> if [team color enabled]; otherwise, <c>false</c>.
      /// </value>
      public bool TeamColorEnabled { get; set; }

      /// <summary>
      /// Gets or sets the players.
      /// </summary>
      /// <value>
      /// The players.
      /// </value>
      public Players Players { get; set; }

      /// <summary>
      /// Gets or sets the units.
      /// </summary>
      /// <value>
      /// The units.
      /// </value>
      public Units Units { get; set; }
   }
}
